iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 4
0
自我挑戰組

白鬍子老頭30天 Swift Ios系列 第 4

Day4 lecture 3 Swift and Foundation Framework -1

  • 分享至 

  • xImage
  •  

什麼是 Optional 實際上

Optional 實際上是個Enum

enum Optional<T>{
case None
case Some(T)
}

所以

let x:String = nil
//等於
let x:String = Optional<String>.None

let x:String = "Something"
//等於
let x = Optional<String>.Some("Something")

Unwrapped

var y = x

過程就像是

switch x {
case .Some(let value) : y = value
case .None : //崩潰
}

以 if let 糖衣的話

if let y = x {
//y做些事
}

過程就像是

switch x {
case .Some(let y) : //y做些事
case .None : 
break
}

optional 也有預設運算子 ??

var s = something
//nil 的話就是 ""
display.text = s ?? ""

Tuples

Tuple 就是把多個值包起來變個群組。
群組內各式各樣的人都有
範例:

let tuple :(string,int,float) = ("非州人",5,11.6f)
let (人種,幾位,尺寸) = tuple
print(人種) //非洲人
print(幾位) // 5
print(尺寸) // 11.6f

//or

let x :(a :string ,b : int, c: float) = ("非州人",5,11.6f)
print(x.a) //非洲人
print(x.b) // 5
print(x.c) // 11.6f

你可以用在回傳多數值的情況下

Range

struct Range<T> {
var startIndex: T
var endIndex: T
}

... 和 ..

2 ... 3 包括3
2 .. 3 不包括3

var array = ["a","b","c","d"]
let r = [2...3] //-> ["c","d"]
let r2 = [2..3] //-> ["c"]

今天先這樣好了


上一篇
Day3 lecture 2 -2 計算機範例
下一篇
Day5 lecture 3 Swift and Foundation Framework -2
系列文
白鬍子老頭30天 Swift Ios30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言